Automatic program debugging for intelligent tutoring systems
نویسنده
چکیده
Program debugging is an important part of the domain expertise required for intelligent tutoring systems that teach programming languages. This article explores the process by which student programs can be automatically debugged in order to increase the instructional capabilities of these systems. The research presented provides a methodology and implementation for the diagnosis and correction of nontrivial recursive programs. In this approach, recursive programs are debugged by repairing induction proofs in the Boyer-Moore logic. The induction proofs constructed and debugged assert the computational equivalence of student programs to comet exemplar solutions. Exemplar solutions not only specify correct implementations but also provide correct code to replace buggy student code. Bugs in student code are repaired with heuristics that attempt to minimize the scope of repair. The automated debugging of student code is greatly complicated by the tremendous variability that arises in student solutions to nontrivial tasks. This variability can be coped with, and debugging performance improved, by eqlicit reasoning about computational semantics during the debugging process. This article supports these claims by discussing the design, implementation, and evaluation of Talus, an automatic debugger for LISP programs, and by examining related work in automated program debugging. Talus relies on its abilities to reason about computational semantics to perform algorithm recognition, infer code teleology, and to automatically detect and correct nonsyntactic errors in student programs written in a restricted, but nontrivial. subset of LISP. Solutions can vary significantly in algorithm, functional decomposition, role of variables, data flow, control flow, values returned by functions, LISP primitives used, and identifiers used. Solutions can consist of multiple functions, each containing multiple bugs. Empiricial evaluation demonstrates that Talus achieves high performance in debugging widely varying student solutions to challenging tasks.
منابع مشابه
Model-Based Reasoning for Domain Modeling in a Web-Based Intelligent Tutoring System to Help Students Learn to Debug C++ Programs
The benefits of using Model-Based Reasoning for domain modeling are several-fold. We analyze these benefits and illustrate them in the context of a Web-based Intelligent Tutoring System. The system is designed to teach students to analyze and debug C++ programs for semantic and run-time errors. We have evaluated one instance of the Model-Based tutor, which deals with debugging pointers in C++, ...
متن کاملA Survey of Intelligent Debugging
Automated debugging systems have a long history with interesting results produced by research prototypes and deployed applications. We present an overview of Artificial Intelligence approaches to the development of intelligent debugging systems. These systems range from tutoring systems that possess detailed knowledge about the individual programs as well as about typical programmer errors occu...
متن کاملAlgorithmic Debugging and Literate Programming to Generate Feedback in Intelligent Tutoring Systems
Algorithmic debugging is an effective diagnosis method in intelligent tutoring systems (ITSs). Given an encoding of expert problemsolving as a logic program, it compares the program’s behaviour during incremental execution with observed learner behaviour. Any deviation captures a learner error in terms of a program location. The feedback engine of the ITS can then take the program clause in que...
متن کاملKnowledge-Based, Automatic Generation of Educational Web Pages
The paper presents a knowledge-based program for automatic generation of a highly structured set of World Wide Web (WWW or web) pages, starting from a knowledge base represented using a frame (object-oriented) paradigm. This program is one of the modules of an intelligent tutoring computer system for advanced computer programming [TrN96]. The tutoring system is built around a structured (frame-...
متن کاملKnowledge Engineering for Intelligent Tutoring Systems: Assessing Semi-automatic Skill Encoding Methods
Building a mapping between items and their related knowledge components, while difficult and time consuming, is central to the task of developing affective intelligent tutoring systems. Improving performance on this task by creating a semi-automatic skill encoding system would facilitate the development of such systems. The goal of this project is to explore techniques involved in text classifi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Computational Intelligence
دوره 3 شماره
صفحات -
تاریخ انتشار 1987